// pages/recommendSong/recommendSong.js
import request from '../../../utils/request'
import Pubsub from 'pubsub-js'
Page({

    /**
     * 页面的初始数据
     */
    data: {
          month:new Date().getMonth()+1,//月份
          day:new Date().getDate(),//日期
          recommendList:[],//推荐歌曲列表
          index:''//某个 要播放歌曲的索引
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        //获取用户信息，更准确的方式还要判断cookies的数据里面的关于用户的cookies数据是否准确（NUSIC_U
        //从缓存中获取cookies数据，如果该数据不存在，就是没有登录，则需要跳转到登录页面
        const cookies = wx.getStorageSync('cookies')
        const userInfo = wx.getStorageSync('userInfo')
        if(!userInfo||cookies.length===0){
          wx.showToast({
              title:'请您先登录',
              icon:'none'
          })
          wx.reLaunch({
            url: '/pages/login/login',
          })
          return
        }
       //获取歌曲列表数，并展示，思路（面试题）
       this.getRecommendListData()
       //页面加载后就订阅消息。msg---消息名字，data--传过来的值
       Pubsub.subscribe('switchType',(msg,type)=>{
           //需要之前播放歌曲的索引，歌曲列表数据
         let {recommendList,index} = this.data
         //判断标识，pre,索引-1，next ,索引+1
         if(type=="pre"){
            (index==0)&&(index = recommendList.length)
            index -=1
         }else{
             (index == recommendList.length - 1)&&(index = -1)
             index +=1
         }
         //更新数据
         this.setData({
             index
         })
         //获取 切换歌曲对象标识
           const  musicId = recommendList[index].id
           //id传入到详情页
           Pubsub.publish('musicId',musicId)
       })
       
    },
    //获取歌曲列表数，并展示，思路（面试题）
     async getRecommendListData(){
        const result = await request ('/recommend/Songs')
        // console.log(result)
        //更新数据
        this.setData({
            recommendList:result.recommend
        })
     },
     //跳转到歌曲详情页
     toSong(event){
        const{id,index} = event.currentTarget.dataset
        //存储索引
        this.setData({
            index
        })
        //路由跳转
        wx.navigateTo({
            url:'/packageSong/pages/song/song?songId='+id
        })
     },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})